/**
 @file sys_usw_dmps_shared_reg.h

 @author  Copyright (C) 2022 Centec Networks Inc.  All rights reserved.

 @date 2022-10-25

 @version v1.0

*/

#ifndef _SYS_USW_DMPS_SHARED_REG_H
#define _SYS_USW_DMPS_SHARED_REG_H
#ifdef __cplusplus
extern "C" {
#endif

/****************************************************************
 *
 * Header Files
 *
 ***************************************************************/
#include "sys_usw_dmps_reg.h"

extern int32
sys_usw_dmps_shared_reg_write_quad_sgmac_cfg(uint8 lchip, uint8 core_id, uint8 inst_id,
                                        uint8 fld_num, reg_field_info_t* fld_info);
extern int32
sys_usw_dmps_shared_reg_write_sgmac_tx_cfg(uint8 lchip, uint8 core_id, uint8 inst_id, uint8 tbl_idx,
                                        uint8 fld_num, reg_field_info_t* fld_info);
extern int32
sys_usw_dmps_shared_reg_write_sgmac_rx_cfg(uint8 lchip, uint8 core_id, uint8 inst_id, uint8 tbl_idx,
                                        uint8 fld_num, reg_field_info_t* fld_info);
extern int32
sys_usw_dmps_shared_reg_write_sharedmii0cfg(uint8 lchip, uint8 core_id, uint8 inst_id, uint8 tbl_idx,
                                        uint8 fld_num, reg_field_info_t* fld_info);
extern int32
sys_usw_dmps_shared_reg_write_shared_mii_cfg(uint8 lchip, uint8 core_id, uint8 inst_id,
                                        uint8 fld_num, reg_field_info_t* fld_info);
extern int32
sys_usw_dmps_shared_reg_write_shared_pcs_cfg(uint8 lchip, uint8 core_id, uint8 inst_id,
                                        uint8 fld_num, reg_field_info_t* fld_info);
extern int32
sys_usw_dmps_shared_reg_write_shared_pcs_fec_cfg(uint8 lchip, uint8 core_id, uint8 inst_id,
                                        uint8 fld_num, reg_field_info_t* fld_info);
extern int32
sys_usw_dmps_shared_reg_write_xg_fec_ctl_shared_fec(uint8 lchip, uint8 core_id, uint8 inst_id, uint8 tbl_idx,
                                        uint8 fld_num, reg_field_info_t* fld_info);
extern int32
sys_usw_dmps_shared_reg_write_global_ctl_shared_fec(uint8 lchip, uint8 core_id, uint8 inst_id,
                                        uint8 fld_num, reg_field_info_t* fld_info);
extern int32
sys_usw_dmps_shared_reg_write_shared_mii_reset_cfg(uint8 lchip, uint8 core_id, uint8 inst_id,
                                        uint8 fld_num, reg_field_info_t* fld_info);
extern int32
sys_usw_dmps_shared_reg_write_shared_pcs_soft_rst(uint8 lchip, uint8 core_id, uint8 inst_id,
                                        uint8 fld_num, reg_field_info_t* fld_info);
extern int32
sys_usw_dmps_shared_reg_write_reset_ctl_shared_fec(uint8 lchip, uint8 core_id, uint8 inst_id,
                                        uint8 fld_num, reg_field_info_t* fld_info);
extern int32
sys_usw_dmps_shared_reg_write_shared_pcs_dsf_cfg(uint8 lchip, uint8 core_id, uint8 inst_id,
                                        uint8 fld_num, reg_field_info_t* fld_info);
extern int32
sys_usw_dmps_shared_reg_write_shared_pcs_serdes_cfg(uint8 lchip, uint8 core_id, uint8 inst_id, uint8 tbl_idx,
                                        uint8 fld_num, reg_field_info_t* fld_info);
extern int32
sys_usw_dmps_shared_reg_write_shared_pcs_sgmii_cfg(uint8 lchip, uint8 core_id, uint8 inst_id, uint8 tbl_idx,
                                        uint8 fld_num, reg_field_info_t* fld_info);
extern int32
sys_usw_dmps_shared_reg_write_quad_sgmac_init(uint8 lchip, uint8 core_id, uint8 inst_id,
                                        uint8 fld_num, reg_field_info_t* fld_info);
extern int32
sys_usw_dmps_shared_reg_write_quad_sgmac_stats_cfg(uint8 lchip, uint8 core_id, uint8 inst_id,
                                        uint8 fld_num, reg_field_info_t* fld_info);


extern int32
sys_usw_dmps_shared_reg_read_sharedmii0status(uint8 lchip, uint8 core_id, uint8 inst_id, uint8 tbl_idx,
                                        uint8 fld_num, reg_field_info_t* fld_info);
extern int32
sys_usw_dmps_shared_reg_read_shared_pcs_sgmii_status(uint8 lchip, uint8 core_id, uint8 inst_id, uint8 tbl_idx,
                                        uint8 fld_num, reg_field_info_t* fld_info);
extern int32
sys_usw_dmps_shared_reg_read_shared_pcs_xfi_status(uint8 lchip, uint8 core_id, uint8 inst_id, uint8 tbl_idx,
                                        uint8 fld_num, reg_field_info_t* fld_info);
extern int32
sys_usw_dmps_shared_reg_read_shared_pcs_xlg_status(uint8 lchip, uint8 core_id, uint8 inst_id,
                                        uint8 fld_num, reg_field_info_t* fld_info);
extern int32
sys_usw_dmps_shared_reg_read_shared_pcs_lg_status(uint8 lchip, uint8 core_id, uint8 inst_id,
                                        uint8 fld_num, reg_field_info_t* fld_info);
extern int32
sys_usw_dmps_shared_reg_read_shared_pcs_cg_status(uint8 lchip, uint8 core_id, uint8 inst_id,
                                        uint8 fld_num, reg_field_info_t* fld_info);
extern int32
sys_usw_dmps_shared_reg_read_shared_pcs_fx_status(uint8 lchip, uint8 core_id, uint8 inst_id, uint8 tbl_idx,
                                        uint8 fld_num, reg_field_info_t* fld_info);
extern int32
sys_usw_dmps_shared_reg_read_sharedmii0cfg(uint8 lchip, uint8 core_id, uint8 inst_id, uint8 tbl_idx,
                                        uint8 fld_num, reg_field_info_t* fld_info);
extern int32
sys_usw_dmps_shared_reg_read_shared_pcs_sgmii_cfg(uint8 lchip, uint8 core_id, uint8 inst_id, uint8 tbl_idx,
                                        uint8 fld_num, reg_field_info_t* fld_info);
extern int32
sys_usw_dmps_shared_reg_read_shared_pcs_cfg(uint8 lchip, uint8 core_id, uint8 inst_id, 
                                        uint8 fld_num, reg_field_info_t* fld_info);
extern int32
sys_usw_dmps_shared_reg_read_sgmac_rx_cfg(uint8 lchip, uint8 core_id, uint8 inst_id, uint8 tbl_idx,
                                        uint8 fld_num, reg_field_info_t* fld_info);
extern int32
sys_usw_dmps_shared_reg_read_sgmac_tx_cfg(uint8 lchip, uint8 core_id, uint8 inst_id, uint8 tbl_idx,
                                        uint8 fld_num, reg_field_info_t* fld_info);
extern int32
sys_usw_dmps_shared_reg_read_shared_mii_soft_rst(uint8 lchip, uint8 core_id, uint8 inst_id,
                                        uint8 fld_num, reg_field_info_t* fld_info);
extern int32
sys_usw_dmps_shared_reg_read_shared_pcs_soft_rst(uint8 lchip, uint8 core_id, uint8 inst_id, 
                                        uint8 fld_num, reg_field_info_t* fld_info);
extern int32
sys_usw_dmps_shared_reg_read_fc2112_fec_count(uint8 lchip, uint8 core_id, uint8 inst_id, uint8 tbl_idx,
                                        uint8 fld_num, reg_field_info_t* fld_info);
extern int32
sys_usw_dmps_shared_reg_read_rs_fec_status_shared_fec(uint8 lchip, uint8 core_id, uint8 inst_id, uint8 tbl_idx,
                                        uint8 fld_num, reg_field_info_t* fld_info);
extern int32
sys_usw_dmps_shared_reg_read_global_status_shared_fec(uint8 lchip, uint8 core_id, uint8 inst_id,
                                        uint8 fld_num, reg_field_info_t* fld_info);
extern int32
sys_usw_dmps_shared_reg_read_shared_mii_reset_cfg(uint8 lchip, uint8 core_id, uint8 inst_id,
                                        uint8 fld_num, reg_field_info_t* fld_info);
extern int32
sys_usw_dmps_shared_reg_read_shared_pcs_serdes_cfg(uint8 lchip, uint8 core_id, uint8 inst_id, uint8 tbl_idx,
                                        uint8 fld_num, reg_field_info_t* fld_info);
extern int32
sys_usw_dmps_shared_reg_write_shared_pcs_xlg_cfg(uint8 lchip, uint8 core_id, uint8 inst_id, uint8 tbl_idx,
                                        uint8 fld_num, reg_field_info_t* fld_info);
#ifdef __cplusplus
}
#endif

#endif

